package test.h0814;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 不知名帅哥
 * @version 1.0
 * @description 求最多可以派出多少支团队
 * @date 2024/8/14 15:02
 */
public class Main4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        int k = sc.nextInt();
        Arrays.sort(arr);
        int ans = 0;
        int left = 0;
        int right = 0;
        //排序后，如果较大值可以单独成队，优先成队
        for (int i = n - 1; i >= 0; i--) {
            if (arr[i] >= k) {
                ans++;
            } else {
                right = i;
                break;
            }
        }
        //结果

        while (left < right) {
            if (arr[left] + arr[right] >= k) {
                ans++;
                left++;
                right--;
            } else {
                //如果arr[left]+arr[right]>=k不满足,左移。使得左边的数字更大
                left++;
            }
        }
        System.out.println(ans);
    }
}
